<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<script type="text/javascript">
    var o = new Object();

    // 调用toString()方法，返回字符串
    console.log(o.toString());

    // toString方法会在某些需要用字符串的来表示对象的时候被JavaScript内部调用。例如alert的工作方式就是需要用到这样的字符串。所以，如果我们将一个对象传递给了alert，那么toString方法会在后台被调用。下面两句代码的执行结果是一样的
    alert(o);
    alert(o.toString());

    // 字符串链接操作也会使用字符串描述文本，如果我们将某个对象与字符串进行链接，那么该对象就先调用自身的toString()方法。
    console.log('an object: ' + o);
    console.log('an object: ' + o.toString());

    // valueOf方法也是为所有对象共有的一个方法。对于简单对象来说，valueOf方法返回的就是对象自己
    console.log(o.valueOf() === o);
</script>
</body>
</html>
